package view;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;

import model.GameConfiguration;

/**
 * Rappresenta la classe che consente l'inizializzazione e l'avvio del gioco
 * 
 * 
 */
public class GameFrame extends JFrame {
	private static final long serialVersionUID = -8395759457708163217L;
	private Board board;

	public GameFrame(GameConfiguration config) {
		initGUI(config);
		
		
		
	}

	private void initGUI(GameConfiguration config) {
		setTitle("Forza 4");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setSize(GraphicsUtils.getFrameWidth(config.getCols()),
				GraphicsUtils.getFrameHeight(config.getRows()));
		setLocationRelativeTo(null);
		board = new Board(config);
		getContentPane().add(board);
		setVisible(true);
		setResizable(false);
		board.addKeyListener(new KAdapter());

	}

	/**
	 * Adapter corrispondente all'interfaccia KeyListener. Consente di catturare
	 * eventi relativi alla pressione di pulsanti della tastiera.
	 * 
	 */
	private class KAdapter extends KeyAdapter {
		@Override
		public void keyPressed(KeyEvent e) {
			if(e.getKeyCode() == KeyEvent.VK_N){
				board.stop();
				new ConfigurationFrame();
				dispose();
			}
			

		}

	}
	
}
